//抽象类跟接口有点类似，它也是可以用来约束子类当中必须要有某一个成员，不同于接口的是抽象类可以包含一些具体的实现而接口只能够是一个成员的一个抽象不包含具体的实现，比较大的类目建议使用抽象类

export {}

abstract class Animal { //定义为抽象类之后，只能够被继承而不能new的方式创建对应的实例对象
    eat(food:string):void{
        console.log(`呼噜呼噜的吃:${food}`)
    }
    abstract run(distance:number):void //抽象方法，也是不需要具体实现
}
class Dog extends Animal {
    run(distance: number): void {
        console.log('四角爬行',distance)
    }

}

const d = new Dog()
d.eat('狗粮')
d.run(100)
